package gameframe;

import java.io.Serializable;

/**
 * @author Hsu琛君珩
 * @ClassName:Chess
 * @date 2023-12-18
 * @apiNote
 * @Version: v1.0
 */

/**
 * 代表五子棋游戏中的棋子。
 * 此类实现了Serializable接口，允许对象通过网络或文件系统进行序列化。
 */
public class Chess implements Serializable {
    // 定义棋子可能的状态：空、白棋、黑棋。
    public static final int SPACE = 0;  // 空位置
    public static final int WHITE = -1; // 白棋
    public static final int BLACK = 1;  // 黑棋

    // 定义棋盘的宽度和高度。
    public static final int WIDTH = 20;  // 棋盘宽度
    public static final int HEIGHT = 20; // 棋盘高度

    // 棋子的位置坐标（x，y）和颜色。
    private final int posX; // 棋子的横坐标
    private final int posY; // 棋子的纵坐标
    private final int color; // 棋子的颜色

    /**
     * 构造一个新的棋子。
     *
     * @param posX  棋子的横坐标
     * @param posY  棋子的纵坐标
     * @param color 棋子的颜色
     */
    public Chess(int posX, int posY, int color) {
        this.posX = posX;
        this.posY = posY;
        this.color = color;
    }

    public int getPosX() {
        return posX;
    }

    public int getPosY() {
        return posY;
    }

    public int getColor() {
        return color;
    }
}

